package mysql;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;

/**
 * 一.使用 JDBC 连接 数据库 Mysql
 * 1.maven仓库下载对应mysql版本的jar包
 * 2.mysql服务器是否启动【Wampsever】
 * 3.加载数据库驱动【mysql】
 * 4.获取数据库链接【mysql-用户名 root 最高权限,密码 空】
 * 二.连接成功
 * 1. test创建表 person 给三个字段 id name address
 */
public class MysqlJDBC {
    public static void main(String[] args) throws ClassNotFoundException, SQLException {
        //3.加载驱动【注册驱动程序】
        //JDBC 规范标准 要求:链接对应数据库必须先注册'驱动程序'
        // 告诉JDBC 现在连接什么种类的数据库
        //Class.forName() 通过反射加载对应数据库版本驱动类
        //对应数据库固定注册写法:Mysql
        Class.forName("com.mysql.jdbc.Driver");
        //4.mysql数据库的链接
        String username = "root"; //mysql数据库用户名
        String password = ""; //mysql数据库密码
        // url链接地址:mysql固定结构
        //jdbc:mysql://IP地址:端口号/库名?characterEncoding=UTF-8
        String url = "jdbc:mysql://localhost:3308/test?characterEncoding=UTF-8";
        //DriverManager 工具类 功能获取数据库链接:url 用户名和密码
        //getConnection方法 连接不同版本数据库的方法 连接成功 返回Connection
        Connection conn = DriverManager.getConnection(url, username, password);
        System.out.println("测试成功" + conn);

        //5.编写静态添加sql操作【字符串】
        //String sql="insert into person values(1,'蔡徐坤','浙江坤坤')";
        //String sql="delete from person where id=2";
        String sql="update person set name='坤坤'";

        //6.执行静态sql【增加操作】
        //conn.createStatement() 执行数据库中增删改操作,返回Statement对象
        //Statement对象执行静态sql
        //6.1具备执行数据库中增删改操作
        Statement st=conn.createStatement();
        //6.2执行静态sql:executeUpdate(静态sql)增删改操作,返回值 int 类型
        int rows=st.executeUpdate(sql);
        System.out.println("增加几条"+rows+"坤坤");
        //7.关闭资源

    }
}
/**
 * 昨天重点
 * 1.JDBC规范 连接各种数据库  数据库闭源
 * 2.maven仓库下载对应jar包
 * mysql版本5.5 mysqljdbc
 * oracle版本 10g ojdbc8
 * 3.编程步骤-JDBC规范-核心逻辑开发者完成
 * 3.1 加载驱动，jdbc连接数据库,每个数据库都有自己驱动
 * Class.forName("com.mysql.jdbc.Driver") 反射技术【固定结构】
 * Mysql版本5.X  驱动:com.mysql.jdbc.Driver
 * Mysql版本8.X  驱动:com.mysql.cj.jdbc.Driver
 * Java-->JDBC标准规范-->Driver接口:驱动接口,各种数据库
 * JDBC承认写对应驱动接口【所有数据库承认接口,确定什么数据库】
 * 3.2获取连接 .Mysql数据库:用户名、密码、url
 * String username="root"; --- Java写法
 * String password="";
 * url-->Mysql链接路径-->固定结构
 * jdbc:mysql://localhost:3308/mi?characterEncoding=UTF-8
 * 协议:子协议://IP地址:端口号/库名?设置字符集
 * 本机 127.0.0.1
 * Java获取链接--通过--DriverManager接口:工具类,可以链接各种数据库
 * Driver Manager。getConnection(url,username,password);
 * 具体链接方案给方法:getConnection()地址、用户名、密码确定无误
 * 返回一个对象Connection对象【Java与对应数据库连接成功】
 * 打印Connection对象--打印对象--链接成功
 * 4执行sql:JDBC只能做增删改查--Mysql创建表、库
 * 4.1 Mysql --->使用库--->创建表
 * 4.2 Java--->CUD增删改操作
 * 4.3 Java --->确定数据库链接成功【con】--->调取执行增删改查操作
 * --->Statement对象 执行静态sql
 * 代码:Statement st=con.createStatement();
 * 4.4 Java --->Statement对象提供方法:executeUpdate();
 * --->此方法执行sql:增、删、改操作---成功 几 条记录
 * 代码:st.executeUpdate(sql);
 * 打桩:打印成功多少条记录
 * 5.关闭资源【倒置法:Statement-执行mysql对象、Connection--链接数据库成功】
 *
 */






































